﻿using System;
namespace Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister {
    
    
    public partial class Paring2Soidukiandmed : global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.IParing2Soidukiandmed {
        
        private string @__regmrk;
        
        private string @__nrTyyp;
        
        private string @__regtun;
        
        private string @__regtunKuup;
        
        private string @__kehtiv;
        
        private string @__regtulek;
        
        private string @__regtunValjastaja;
        
        private string @__idkood;
        
        private string @__vinkood;
        
        private Paring2Soidukiandmed.ISoidukiAndmedType @__soidukiAndmed;
        
        private string @__piirang;
        
        private Paring2Soidukiandmed.IOmaAndmedVType @__omaAndmedV;
        
        private Paring2Soidukiandmed.IHooldajaType @__hooldaja;
        
        private string @__kasutajad;
        
        public Paring2Soidukiandmed() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public Paring2Soidukiandmed(string @regmrk, string @nrTyyp, string @regtun, string @regtunKuup, string @kehtiv, string @regtulek, string @regtunValjastaja, string @idkood, string @vinkood, Paring2Soidukiandmed.ISoidukiAndmedType @soidukiAndmed, string @piirang, Paring2Soidukiandmed.IOmaAndmedVType @omaAndmedV, Paring2Soidukiandmed.IHooldajaType @hooldaja, string @kasutajad) {
            this.@__regmrk = @regmrk;
            this.@__nrTyyp = @nrTyyp;
            this.@__regtun = @regtun;
            this.@__regtunKuup = @regtunKuup;
            this.@__kehtiv = @kehtiv;
            this.@__regtulek = @regtulek;
            this.@__regtunValjastaja = @regtunValjastaja;
            this.@__idkood = @idkood;
            this.@__vinkood = @vinkood;
            this.@__soidukiAndmed = @soidukiAndmed;
            this.@__piirang = @piirang;
            this.@__omaAndmedV = @omaAndmedV;
            this.@__hooldaja = @hooldaja;
            this.@__kasutajad = @kasutajad;
        }
        
        /// <summary>
        /// Required parameters
        /// </summary>
        public Paring2Soidukiandmed(Paring2Soidukiandmed.ISoidukiAndmedType @soidukiAndmed, Paring2Soidukiandmed.IOmaAndmedVType @omaAndmedV) {
            this.@__soidukiAndmed = @soidukiAndmed;
            this.@__omaAndmedV = @omaAndmedV;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected Paring2Soidukiandmed(IParing2Soidukiandmed @paring2Soidukiandmed) {
            this.@__regmrk = @paring2Soidukiandmed.Regmrk;
            this.@__nrTyyp = @paring2Soidukiandmed.NrTyyp;
            this.@__regtun = @paring2Soidukiandmed.Regtun;
            this.@__regtunKuup = @paring2Soidukiandmed.RegtunKuup;
            this.@__kehtiv = @paring2Soidukiandmed.Kehtiv;
            this.@__regtulek = @paring2Soidukiandmed.Regtulek;
            this.@__regtunValjastaja = @paring2Soidukiandmed.RegtunValjastaja;
            this.@__idkood = @paring2Soidukiandmed.Idkood;
            this.@__vinkood = @paring2Soidukiandmed.Vinkood;
            this.@__soidukiAndmed = @paring2Soidukiandmed.SoidukiAndmed;
            this.@__piirang = @paring2Soidukiandmed.Piirang;
            this.@__omaAndmedV = @paring2Soidukiandmed.OmaAndmedV;
            this.@__hooldaja = @paring2Soidukiandmed.Hooldaja;
            this.@__kasutajad = @paring2Soidukiandmed.Kasutajad;
        }
        
        public virtual string Regmrk {
            get {
                return this.@__regmrk;
            }
            set {
                this.@__regmrk = value;
            }
        }
        
        public virtual string NrTyyp {
            get {
                return this.@__nrTyyp;
            }
            set {
                this.@__nrTyyp = value;
            }
        }
        
        public virtual string Regtun {
            get {
                return this.@__regtun;
            }
            set {
                this.@__regtun = value;
            }
        }
        
        public virtual string RegtunKuup {
            get {
                return this.@__regtunKuup;
            }
            set {
                this.@__regtunKuup = value;
            }
        }
        
        public virtual string Kehtiv {
            get {
                return this.@__kehtiv;
            }
            set {
                this.@__kehtiv = value;
            }
        }
        
        public virtual string Regtulek {
            get {
                return this.@__regtulek;
            }
            set {
                this.@__regtulek = value;
            }
        }
        
        public virtual string RegtunValjastaja {
            get {
                return this.@__regtunValjastaja;
            }
            set {
                this.@__regtunValjastaja = value;
            }
        }
        
        public virtual string Idkood {
            get {
                return this.@__idkood;
            }
            set {
                this.@__idkood = value;
            }
        }
        
        public virtual string Vinkood {
            get {
                return this.@__vinkood;
            }
            set {
                this.@__vinkood = value;
            }
        }
        
        public virtual Paring2Soidukiandmed.ISoidukiAndmedType SoidukiAndmed {
            get {
                return this.@__soidukiAndmed;
            }
            set {
                this.@__soidukiAndmed = value;
            }
        }
        
        public virtual string Piirang {
            get {
                return this.@__piirang;
            }
            set {
                this.@__piirang = value;
            }
        }
        
        public virtual Paring2Soidukiandmed.IOmaAndmedVType OmaAndmedV {
            get {
                return this.@__omaAndmedV;
            }
            set {
                this.@__omaAndmedV = value;
            }
        }
        
        public virtual Paring2Soidukiandmed.IHooldajaType Hooldaja {
            get {
                return this.@__hooldaja;
            }
            set {
                this.@__hooldaja = value;
            }
        }
        
        public virtual string Kasutajad {
            get {
                return this.@__kasutajad;
            }
            set {
                this.@__kasutajad = value;
            }
        }
        
        public partial class SoidukiAndmedType : ISoidukiAndmedType {
            
            private string @__kateg;
            
            private string @__marknm;
            
            private string @__mudelMod;
            
            private string @__kerenm;
            
            private string @__mootornm;
            
            private string @__mootmht;
            
            private string @__mootvms;
            
            private string @__ehitaasta;
            
            private string @__varvNimetus;
            
            public SoidukiAndmedType() {
            }
            
            /// <summary>
            /// All parameters
            /// </summary>
            public SoidukiAndmedType(string @kateg, string @marknm, string @mudelMod, string @kerenm, string @mootornm, string @mootmht, string @mootvms, string @ehitaasta, string @varvNimetus) {
                this.@__kateg = @kateg;
                this.@__marknm = @marknm;
                this.@__mudelMod = @mudelMod;
                this.@__kerenm = @kerenm;
                this.@__mootornm = @mootornm;
                this.@__mootmht = @mootmht;
                this.@__mootvms = @mootvms;
                this.@__ehitaasta = @ehitaasta;
                this.@__varvNimetus = @varvNimetus;
            }
            
            /// <summary>
            /// Required parameters
            /// </summary>
            public SoidukiAndmedType(string @kateg, string @marknm) {
                this.@__kateg = @kateg;
                this.@__marknm = @marknm;
            }
            
            /// <summary>
            /// Copy Constructor
            /// </summary>
            protected SoidukiAndmedType(ISoidukiAndmedType @soidukiAndmedType) {
                this.@__kateg = @soidukiAndmedType.Kateg;
                this.@__marknm = @soidukiAndmedType.Marknm;
                this.@__mudelMod = @soidukiAndmedType.MudelMod;
                this.@__kerenm = @soidukiAndmedType.Kerenm;
                this.@__mootornm = @soidukiAndmedType.Mootornm;
                this.@__mootmht = @soidukiAndmedType.Mootmht;
                this.@__mootvms = @soidukiAndmedType.Mootvms;
                this.@__ehitaasta = @soidukiAndmedType.Ehitaasta;
                this.@__varvNimetus = @soidukiAndmedType.VarvNimetus;
            }
            
            public virtual string Kateg {
                get {
                    return this.@__kateg;
                }
                set {
                    this.@__kateg = value;
                }
            }
            
            public virtual string Marknm {
                get {
                    return this.@__marknm;
                }
                set {
                    this.@__marknm = value;
                }
            }
            
            public virtual string MudelMod {
                get {
                    return this.@__mudelMod;
                }
                set {
                    this.@__mudelMod = value;
                }
            }
            
            public virtual string Kerenm {
                get {
                    return this.@__kerenm;
                }
                set {
                    this.@__kerenm = value;
                }
            }
            
            public virtual string Mootornm {
                get {
                    return this.@__mootornm;
                }
                set {
                    this.@__mootornm = value;
                }
            }
            
            public virtual string Mootmht {
                get {
                    return this.@__mootmht;
                }
                set {
                    this.@__mootmht = value;
                }
            }
            
            public virtual string Mootvms {
                get {
                    return this.@__mootvms;
                }
                set {
                    this.@__mootvms = value;
                }
            }
            
            public virtual string Ehitaasta {
                get {
                    return this.@__ehitaasta;
                }
                set {
                    this.@__ehitaasta = value;
                }
            }
            
            public virtual string VarvNimetus {
                get {
                    return this.@__varvNimetus;
                }
                set {
                    this.@__varvNimetus = value;
                }
            }
        }
        
        public interface ISoidukiAndmedType {
            
            string Kateg {
                get;
                set;
            }
            
            string Marknm {
                get;
                set;
            }
            
            string MudelMod {
                get;
                set;
            }
            
            string Kerenm {
                get;
                set;
            }
            
            string Mootornm {
                get;
                set;
            }
            
            string Mootmht {
                get;
                set;
            }
            
            string Mootvms {
                get;
                set;
            }
            
            string Ehitaasta {
                get;
                set;
            }
            
            string VarvNimetus {
                get;
                set;
            }
        }
        
        public partial class OmaAndmedVType : IOmaAndmedVType {
            
            private string @__omaKood;
            
            private string @__omaNimi;
            
            private string @__omaEesnimi;
            
            private string @__aadress;
            
            private string @__asukAkood;
            
            private string @__omaMuud;
            
            public OmaAndmedVType() {
            }
            
            /// <summary>
            /// All parameters
            /// </summary>
            public OmaAndmedVType(string @omaKood, string @omaNimi, string @omaEesnimi, string @aadress, string @asukAkood, string @omaMuud) {
                this.@__omaKood = @omaKood;
                this.@__omaNimi = @omaNimi;
                this.@__omaEesnimi = @omaEesnimi;
                this.@__aadress = @aadress;
                this.@__asukAkood = @asukAkood;
                this.@__omaMuud = @omaMuud;
            }
            
            /// <summary>
            /// Required parameters
            /// </summary>
            public OmaAndmedVType(string @omaKood, string @omaNimi) {
                this.@__omaKood = @omaKood;
                this.@__omaNimi = @omaNimi;
            }
            
            /// <summary>
            /// Copy Constructor
            /// </summary>
            protected OmaAndmedVType(IOmaAndmedVType @omaAndmedVType) {
                this.@__omaKood = @omaAndmedVType.OmaKood;
                this.@__omaNimi = @omaAndmedVType.OmaNimi;
                this.@__omaEesnimi = @omaAndmedVType.OmaEesnimi;
                this.@__aadress = @omaAndmedVType.Aadress;
                this.@__asukAkood = @omaAndmedVType.AsukAkood;
                this.@__omaMuud = @omaAndmedVType.OmaMuud;
            }
            
            public virtual string OmaKood {
                get {
                    return this.@__omaKood;
                }
                set {
                    this.@__omaKood = value;
                }
            }
            
            public virtual string OmaNimi {
                get {
                    return this.@__omaNimi;
                }
                set {
                    this.@__omaNimi = value;
                }
            }
            
            public virtual string OmaEesnimi {
                get {
                    return this.@__omaEesnimi;
                }
                set {
                    this.@__omaEesnimi = value;
                }
            }
            
            public virtual string Aadress {
                get {
                    return this.@__aadress;
                }
                set {
                    this.@__aadress = value;
                }
            }
            
            public virtual string AsukAkood {
                get {
                    return this.@__asukAkood;
                }
                set {
                    this.@__asukAkood = value;
                }
            }
            
            public virtual string OmaMuud {
                get {
                    return this.@__omaMuud;
                }
                set {
                    this.@__omaMuud = value;
                }
            }
        }
        
        public interface IOmaAndmedVType {
            
            string OmaKood {
                get;
                set;
            }
            
            string OmaNimi {
                get;
                set;
            }
            
            string OmaEesnimi {
                get;
                set;
            }
            
            string Aadress {
                get;
                set;
            }
            
            string AsukAkood {
                get;
                set;
            }
            
            string OmaMuud {
                get;
                set;
            }
        }
        
        public partial class HooldajaType : IHooldajaType {
            
            private string @__ikood;
            
            private string @__nimi;
            
            private string @__elukoht;
            
            private string @__jms;
            
            public HooldajaType() {
            }
            
            /// <summary>
            /// All parameters
            /// </summary>
            public HooldajaType(string @ikood, string @nimi, string @elukoht, string @jms) {
                this.@__ikood = @ikood;
                this.@__nimi = @nimi;
                this.@__elukoht = @elukoht;
                this.@__jms = @jms;
            }
            
            /// <summary>
            /// Required parameters
            /// </summary>
            public HooldajaType(string @ikood, string @nimi) {
                this.@__ikood = @ikood;
                this.@__nimi = @nimi;
            }
            
            /// <summary>
            /// Copy Constructor
            /// </summary>
            protected HooldajaType(IHooldajaType @hooldajaType) {
                this.@__ikood = @hooldajaType.Ikood;
                this.@__nimi = @hooldajaType.Nimi;
                this.@__elukoht = @hooldajaType.Elukoht;
                this.@__jms = @hooldajaType.Jms;
            }
            
            public virtual string Ikood {
                get {
                    return this.@__ikood;
                }
                set {
                    this.@__ikood = value;
                }
            }
            
            public virtual string Nimi {
                get {
                    return this.@__nimi;
                }
                set {
                    this.@__nimi = value;
                }
            }
            
            public virtual string Elukoht {
                get {
                    return this.@__elukoht;
                }
                set {
                    this.@__elukoht = value;
                }
            }
            
            public virtual string Jms {
                get {
                    return this.@__jms;
                }
                set {
                    this.@__jms = value;
                }
            }
        }
        
        public interface IHooldajaType {
            
            string Ikood {
                get;
                set;
            }
            
            string Nimi {
                get;
                set;
            }
            
            string Elukoht {
                get;
                set;
            }
            
            string Jms {
                get;
                set;
            }
        }
    }
}
